package com.erp.erp_ui.business.vo;

import com.erp.erp_ui.warehouse.vo.AnnexVo;

import java.math.BigDecimal;
import java.util.List;

/**
 * @ClassName : OfferDetailVo
 * @Description : 报价明细出参实体
 * @Author : lst
 * @Date: 2021-01-16 23:00
 */
public class OfferDetailVo {

    /**
     * 主键
     */
    private Integer id;

    /**
     * 报价单号
     */
    private String billNo;


    /**
     * 报价日期
     */
    private String time;

    /**
     * 客户名称
     */
    private String customerName;

    /**
     * 客户编码
     */
    private String customerCode;

    /**
     * 国家名称
     */
    private String countryName;

    /**
     * 国家编码
     */
    private String countryCode;

    /**
     * 客户联系人
     */
    private String customerContactName;

    /**
     * 联系人邮箱
     */
    private String contactEmail;

    /**
     * 报价有效期限
     */
    private String termOfValidity;

    /**
     * 交货期限
     */
    private String deliveryPeriod;

    /**
     * 价格术语
     */
    private String priceTermsName;

    /**
     * 价格术语编码
     */
    private String priceTermsCode;

    /**
     * 报价总额
     */
    private BigDecimal totalQuotation;

    /**
     * 业务员
     */
    private String salesman;

    /**
     * 业务员编码
     */
    private String salesmanCode;

    /**
     * 币种
     */
    private String currency;

    /**
     * 币种编码
     */
    private String currencyCode;

    /**
     * 人民币汇率
     */
    private BigDecimal rmbRate;

    /**
     * 美金汇率
     */
    private BigDecimal usdRate;

    /**
     * 签约公司名称
     */
    private String signingCompanyName;

    /**
     * 签约公司编码
     */
    private String signingCompanyCode;

    /**
     * 收款银行编码
     */
    private String bankCode;

    /**
     * 收款银行名称
     */
    private String bankName;

    /**
     * 收款银行账号
     */
    private String bankAccount;

    /**
     * 客户等级
     */
    private String customerLevelName;

    /**
     * 客户等级编码
     */
    private String customerLevelCode;

    /**
     * 备注
     */
    private String memo;


    /**
     * 产品明细数据
     */
    private List<OfferProductDetailVo> detailList;

    /**
     * 费用集合
     */
    private List<OfferCostDetailVo> costList;

    /**
     * 附件集合
     */
    private List<AnnexVo> annexList;

    /**
     * 日志集合
     */
    private List<DataInfoLogVo> logList;


    public List<DataInfoLogVo> getLogList() {
        return logList;
    }

    public void setLogList(List<DataInfoLogVo> logList) {
        this.logList = logList;
    }

    public String getCustomerLevelName() {
        return customerLevelName;
    }

    public void setCustomerLevelName(String customerLevelName) {
        this.customerLevelName = customerLevelName;
    }

    public String getCustomerLevelCode() {
        return customerLevelCode;
    }

    public void setCustomerLevelCode(String customerLevelCode) {
        this.customerLevelCode = customerLevelCode;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getBillNo() {
        return billNo;
    }

    public void setBillNo(String billNo) {
        this.billNo = billNo;
    }


    public String getTime() {
        return time;
    }

    public void setTime(String time) {
        this.time = time;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getCustomerCode() {
        return customerCode;
    }

    public void setCustomerCode(String customerCode) {
        this.customerCode = customerCode;
    }

    public String getCountryName() {
        return countryName;
    }

    public void setCountryName(String countryName) {
        this.countryName = countryName;
    }

    public String getCountryCode() {
        return countryCode;
    }

    public void setCountryCode(String countryCode) {
        this.countryCode = countryCode;
    }

    public String getCustomerContactName() {
        return customerContactName;
    }

    public void setCustomerContactName(String customerContactName) {
        this.customerContactName = customerContactName;
    }

    public String getContactEmail() {
        return contactEmail;
    }

    public void setContactEmail(String contactEmail) {
        this.contactEmail = contactEmail;
    }

    public String getTermOfValidity() {
        return termOfValidity;
    }

    public void setTermOfValidity(String termOfValidity) {
        this.termOfValidity = termOfValidity;
    }

    public String getDeliveryPeriod() {
        return deliveryPeriod;
    }

    public void setDeliveryPeriod(String deliveryPeriod) {
        this.deliveryPeriod = deliveryPeriod;
    }

    public String getPriceTermsName() {
        return priceTermsName;
    }

    public void setPriceTermsName(String priceTermsName) {
        this.priceTermsName = priceTermsName;
    }

    public String getPriceTermsCode() {
        return priceTermsCode;
    }

    public void setPriceTermsCode(String priceTermsCode) {
        this.priceTermsCode = priceTermsCode;
    }

    public BigDecimal getTotalQuotation() {
        return totalQuotation;
    }

    public void setTotalQuotation(BigDecimal totalQuotation) {
        this.totalQuotation = totalQuotation;
    }

    public String getSalesman() {
        return salesman;
    }

    public void setSalesman(String salesman) {
        this.salesman = salesman;
    }

    public String getSalesmanCode() {
        return salesmanCode;
    }

    public void setSalesmanCode(String salesmanCode) {
        this.salesmanCode = salesmanCode;
    }

    public String getCurrency() {
        return currency;
    }

    public void setCurrency(String currency) {
        this.currency = currency;
    }

    public String getCurrencyCode() {
        return currencyCode;
    }

    public void setCurrencyCode(String currencyCode) {
        this.currencyCode = currencyCode;
    }

    public BigDecimal getRmbRate() {
        return rmbRate;
    }

    public void setRmbRate(BigDecimal rmbRate) {
        this.rmbRate = rmbRate;
    }

    public BigDecimal getUsdRate() {
        return usdRate;
    }

    public void setUsdRate(BigDecimal usdRate) {
        this.usdRate = usdRate;
    }

    public String getSigningCompanyName() {
        return signingCompanyName;
    }

    public void setSigningCompanyName(String signingCompanyName) {
        this.signingCompanyName = signingCompanyName;
    }

    public String getSigningCompanyCode() {
        return signingCompanyCode;
    }

    public void setSigningCompanyCode(String signingCompanyCode) {
        this.signingCompanyCode = signingCompanyCode;
    }

    public String getBankCode() {
        return bankCode;
    }

    public void setBankCode(String bankCode) {
        this.bankCode = bankCode;
    }

    public String getBankName() {
        return bankName;
    }

    public void setBankName(String bankName) {
        this.bankName = bankName;
    }

    public String getBankAccount() {
        return bankAccount;
    }

    public void setBankAccount(String bankAccount) {
        this.bankAccount = bankAccount;
    }

    public String getMemo() {
        return memo;
    }

    public void setMemo(String memo) {
        this.memo = memo;
    }

    public List<OfferProductDetailVo> getDetailList() {
        return detailList;
    }

    public void setDetailList(List<OfferProductDetailVo> detailList) {
        this.detailList = detailList;
    }

    public List<OfferCostDetailVo> getCostList() {
        return costList;
    }

    public void setCostList(List<OfferCostDetailVo> costList) {
        this.costList = costList;
    }

    public List<AnnexVo> getAnnexList() {
        return annexList;
    }

    public void setAnnexList(List<AnnexVo> annexList) {
        this.annexList = annexList;
    }

    /**
     * 重写toString
     */
    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder("OfferDetailVo").append('[')
                .append("id=")
                .append(id)
                .append(",billNo=")
                .append(billNo)
                .append(",time=")
                .append(time)
                .append(",customerName=")
                .append(customerName)
                .append(",customerCode=")
                .append(customerCode)
                .append(",countryName=")
                .append(countryName)
                .append(",countryCode=")
                .append(countryCode)
                .append(",customerContactName=")
                .append(customerContactName)
                .append(",contactEmail=")
                .append(contactEmail)
                .append(",termOfValidity=")
                .append(termOfValidity)
                .append(",deliveryPeriod=")
                .append(deliveryPeriod)
                .append(",priceTermsName=")
                .append(priceTermsName)
                .append(",priceTermsCode=")
                .append(priceTermsCode)
                .append(",totalQuotation=")
                .append(totalQuotation)
                .append(",salesman=")
                .append(salesman)
                .append(",salesmanCode=")
                .append(salesmanCode)
                .append(",currency=")
                .append(currency)
                .append(",currencyCode=")
                .append(currencyCode)
                .append(",rmbRate=")
                .append(rmbRate)
                .append(",usdRate=")
                .append(usdRate)
                .append(",signingCompanyName=")
                .append(signingCompanyName)
                .append(",signingCompanyCode=")
                .append(signingCompanyCode)
                .append(",bankCode=")
                .append(bankCode)
                .append(",bankName=")
                .append(bankName)
                .append(",bankAccount=")
                .append(bankAccount)
                .append(",memo=")
                .append(memo)
                .append(",detailList=")
                .append(detailList)
                .append(",costList=")
                .append(costList)
                .append(",annexList=")
                .append(annexList)
                .append(']');
        return sb.toString();
    }
}
